1. Field of the Invention
The present invention relates to an information processing terminal, an information processing method, and a program product enabling, during the execution of a predetermined program, the addition and execution of another program stored in a server or a local memory as a plug-in program.
2. Discussion of the Background Art
A multifunctional machine, which is an example of an information processing terminal, includes a program for controlling the hardware thereof. Thus, the multifunctional machine is required to perform in real time. Such real-time performance is also required in a user interface and so forth. Therefore, programs are made resident and executed in a memory such as a RAM (Random Access Memory), for example.
However, as the functions of the multifunctional machine become more complicated and diverse, the number of programs made resident in the RAM is increased, and the program capacity of the RAM is accordingly increased. As a result, the size of the RAM is increased, which increases the costs of the product.
To address the above issue, such techniques as a shared library method and a dynamic link library method have been used to execute common processes, thereby saving RAM capacity.
Further, according to another background technique, a program not required to have the real-time performance is stored in an HDD (Hard Disk Drive) as a separate process. Then, when required, the program is loaded into the RAM using SWAP (Shared Wireless Access Protocol) or the paging function of an OS (Operating System). Meanwhile, a program required to have the real-time performance is not subjected to the SWAP and the paging function. The above technique provides a mechanism for effective parallel processing, but not a fundamental solution for preventing an unnecessary program from being loaded into the memory.
Recent market demand tends toward customization of the multifunctional machine. With the spread of the Java (registered trademark) programming language, a variety of programs can now be treated as components without reliance on the OS and the CPU (Central Processing Unit). For example, a JVM (Java Virtual Machine) program is executed as one process. Thus, a part of the program requiring the real-time performance is implemented as a native process not subjected to the customization. However, most parts of the program do not require the real-time performance. Thus, the program is implemented as a Java program. Java also provides a platform on which the plug-in process can be performed.
Background techniques relating to an apparatus using the plug-in system include the following examples. In an image forming system according to a first background technique, if the hardware of a multifunctional machine is replaced with another piece of hardware, the multifunctional machine acquires the information for the newly replaced hardware and a list of plug-in information for plug-in programs currently present in the multifunctional machine. Thereafter, the multifunctional machine transmits the plug-in information and hardware information to a server. Then, the server determines whether or not each of the plug-in programs currently present in the multifunctional machine is suitable for the new hardware, and notifies the multifunctional machine of the applicability or non-applicability of the plug-in program. Upon receipt of such notification, the multifunctional machine updates the plug-in information list.
According to a second background technique, an image processing apparatus includes an application program including an extension point representing a function extensible portion, and a plug-in module associated with the extension point. Upon execution of the application program up to the extension point, an application control unit executes the plug-in module associated with the extension point by a plug-in control unit.
In an information processing apparatus according to a third background technique, upon activation of an application program, a control device reads processing order information relating to the processing order for each of a plurality of program modules stored in a storage device. Then, the control device determines the processing order of the plurality of program modules in accordance with the processing order information.
The background techniques described above all relate to the apparatus, such as the multifunctional machine, using the plug-in system. The background examples mention the function extensibility and the authentication and compatibility of a program in the extension process, but are not intended to address the above-described issue of loading of an unnecessary program into a memory.